package JavaSE.Class12.Demo3;

public class Test {
    public static void main(String[] args) throws CloneNotSupportedException {
        Person p1=new Person(10,"zs");
        Person p2=(Person)p1.clone();
        /*
        报错原因：
        1.clone属于Object的方法 需要重写
        2.clone需要Cloneable来标记
        3.clone的返回值是Object（Person的父类） 需要向下转型成Person类
        4.clone自带的throws CloneNotSupportedException（要实现异常处理）
        */


        Person p3=(Person)p1.clone();
        p1.m.money=9.9;
        System.out.println(p1.m.money);
        System.out.println(p3.m.money);
        p3.m.money=99;
        System.out.println(p1.m.money);
        System.out.println(p3.m.money);
        //说明他们的m.money都指向了同一块内存（只克隆Person 没克隆Money）
        //此现象为浅拷贝
        //可以理解为两个人拿了同一块存折

    }
}
